<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.2.0" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
<title>Modelica.UsersGuide.ReleaseNotes.Version_1_5</title>
</head>
<body>
<h1>ReleaseNotes.<span class="omc-h1">Version_1_5</span></h1>
<h2><a name="info" id="info">Information</a></h2>
<p>Added 55 new components. In particular, added new package
<strong>Thermal.HeatTransfer</strong> for modeling of lumped heat
transfer, added model <strong>LossyGear</strong> in
Mechanics.Rotational to model gear efficiency and bearing friction
according to a new theory in a robust way, added 10 new models in
Electrical.Analog and added several other new models and improved
existing models.</p>
<p><strong>New components</strong></p>
<table border="1" cellspacing="0" cellpadding="2">
<tr>
<td colspan="2"><strong>Modelica.Blocks.</strong></td>
</tr>
<tr>
<td>Continuous.Der</td>
<td>Derivative of input (= analytic differentiations)</td>
</tr>
<tr>
<td><strong><em>Examples</em></strong></td>
<td>Demonstration examples of the components of this package</td>
</tr>
<tr>
<td>Nonlinear.VariableLimiter</td>
<td>Limit the range of a signal with variable limits</td>
</tr>
<tr>
<td colspan="2"><strong>Modelica.Blocks.Interfaces.</strong></td>
</tr>
<tr>
<td>RealPort</td>
<td>Real port (both input/output possible)</td>
</tr>
<tr>
<td>IntegerPort</td>
<td>Integer port (both input/output possible)</td>
</tr>
<tr>
<td>BooleanPort</td>
<td>Boolean port (both input/output possible)</td>
</tr>
<tr>
<td>SIMO</td>
<td>Single Input Multiple Output continuous control block</td>
</tr>
<tr>
<td>IntegerBlockIcon</td>
<td>Basic graphical layout of Integer block</td>
</tr>
<tr>
<td>IntegerMO</td>
<td>Multiple Integer Output continuous control block</td>
</tr>
<tr>
<td>IntegerSignalSource</td>
<td>Base class for continuous Integer signal source</td>
</tr>
<tr>
<td>IntegerMIBooleanMOs</td>
<td>Multiple Integer Input Multiple Boolean Output continuous
control block with same number of inputs and outputs</td>
</tr>
<tr>
<td>BooleanMIMOs</td>
<td>Multiple Input Multiple Output continuous control block with
same number of inputs and outputs of Boolean type</td>
</tr>
<tr>
<td><strong><em>BusAdaptors</em></strong></td>
<td>Components to send signals to the bus or receive signals from
the bus</td>
</tr>
<tr>
<td colspan="2"><strong>Modelica.Blocks.Math.</strong></td>
</tr>
<tr>
<td>RealToInteger</td>
<td>Convert real to integer signals</td>
</tr>
<tr>
<td>IntegerToReal</td>
<td>Convert integer to real signals</td>
</tr>
<tr>
<td>Max</td>
<td>Pass through the largest signal</td>
</tr>
<tr>
<td>Min</td>
<td>Pass through the smallest signal</td>
</tr>
<tr>
<td>Edge</td>
<td>Indicates rising edge of Boolean signal</td>
</tr>
<tr>
<td>BooleanChange</td>
<td>Indicates Boolean signal changing</td>
</tr>
<tr>
<td>IntegerChange</td>
<td>Indicates integer signal changing</td>
</tr>
<tr>
<td colspan="2"><strong>Modelica.Blocks.Sources.</strong></td>
</tr>
<tr>
<td>IntegerConstant</td>
<td>Generate constant signals of type Integer</td>
</tr>
<tr>
<td>IntegerStep</td>
<td>Generate step signals of type Integer</td>
</tr>
<tr>
<td colspan="2">
<strong>Modelica.Electrical.Analog.Basic.</strong></td>
</tr>
<tr>
<td>HeatingResistor</td>
<td>Temperature dependent electrical resistor</td>
</tr>
<tr>
<td>OpAmp</td>
<td>Simple nonideal model of an OpAmp with limitation</td>
</tr>
<tr>
<td colspan="2">
<strong>Modelica.Electrical.Analog.Ideal.</strong></td>
</tr>
<tr>
<td>IdealCommutingSwitch</td>
<td>Ideal commuting switch</td>
</tr>
<tr>
<td>IdealIntermediateSwitch</td>
<td>Ideal intermediate switch</td>
</tr>
<tr>
<td>ControlledIdealCommutingSwitch</td>
<td>Controlled ideal commuting switch</td>
</tr>
<tr>
<td>ControlledIdealIntermediateSwitch</td>
<td>Controlled ideal intermediate switch</td>
</tr>
<tr>
<td>IdealOpAmpLimited</td>
<td>Ideal operational amplifier with limitation</td>
</tr>
<tr>
<td>IdealOpeningSwitch</td>
<td>Ideal opener</td>
</tr>
<tr>
<td>IdealClosingSwitch</td>
<td>Ideal closer</td>
</tr>
<tr>
<td>ControlledIdealOpeningSwitch</td>
<td>Controlled ideal opener</td>
</tr>
<tr>
<td>ControlledIdealClosingSwitch</td>
<td>Controlled ideal closer</td>
</tr>
<tr>
<td colspan="2">
<strong>Modelica.Electrical.Analog.Lines.</strong></td>
</tr>
<tr>
<td>TLine1</td>
<td>Lossless transmission line (Z0, TD)</td>
</tr>
<tr>
<td>TLine2</td>
<td>Lossless transmission line (Z0, F, NL)</td>
</tr>
<tr>
<td>TLine2</td>
<td>Lossless transmission line (Z0, F)</td>
</tr>
<tr>
<td colspan="2"><strong>Modelica.Icons.</strong></td>
</tr>
<tr>
<td>Function</td>
<td>Icon for a function</td>
</tr>
<tr>
<td>Record</td>
<td>Icon for a record</td>
</tr>
<tr>
<td>Enumeration</td>
<td>Icon for an enumeration</td>
</tr>
<tr>
<td colspan="2"><strong>Modelica.Math.</strong></td>
</tr>
<tr>
<td>tempInterpol2</td>
<td>temporary routine for vectorized linear interpolation (will be
removed)</td>
</tr>
<tr>
<td colspan="2">
<strong>Modelica.Mechanics.Rotational.</strong></td>
</tr>
<tr>
<td>Examples.LossyGearDemo1</td>
<td>Example to show that gear efficiency may lead to stuck
motion</td>
</tr>
<tr>
<td>Examples.LossyGearDemo2</td>
<td>Example to show combination of LossyGear and
BearingFriction</td>
</tr>
<tr>
<td>LossyGear</td>
<td>Gear with mesh efficiency and bearing friction (stuck/rolling
possible)</td>
</tr>
<tr>
<td>Gear2</td>
<td>Realistic model of a gearbox (based on LossyGear)</td>
</tr>
<tr>
<td colspan="2"><strong>Modelica.SIunits.</strong></td>
</tr>
<tr>
<td><strong><em>Conversions</em></strong></td>
<td>Conversion functions to/from non SI units and type definitions
of non SI units</td>
</tr>
<tr>
<td>EnergyFlowRate</td>
<td>Same definition as <em>Power</em></td>
</tr>
<tr>
<td>EnthalpyFlowRate</td>
<td><code>Real (final quantity="EnthalpyFlowRate", final
unit="W")</code></td>
</tr>
<tr>
<td colspan="2"><strong>Modelica.</strong></td>
</tr>
<tr>
<td><strong><em>Thermal.HeatTransfer</em></strong></td>
<td>1-dimensional heat transfer with lumped elements</td>
</tr>
<tr>
<td colspan="2">
<strong>ModelicaAdditions.Blocks.Discrete.</strong></td>
</tr>
<tr>
<td>TriggeredSampler</td>
<td>Triggered sampling of continuous signals</td>
</tr>
<tr>
<td>TriggeredMax</td>
<td>Compute maximum, absolute value of continuous signal at trigger
instants</td>
</tr>
<tr>
<td colspan="2">
<strong>ModelicaAdditions.Blocks.Logical.Interfaces.</strong></td>
</tr>
<tr>
<td>BooleanMIRealMOs</td>
<td>Multiple Boolean Input Multiple Real Output continuous control
block with same number of inputs and outputs</td>
</tr>
<tr>
<td>RealMIBooleanMOs</td>
<td>Multiple Real Input Multiple Boolean Output continuous control
block with same number of inputs and outputs</td>
</tr>
<tr>
<td colspan="2">
<strong>ModelicaAdditions.Blocks.Logical.</strong></td>
</tr>
<tr>
<td>TriggeredTrapezoid</td>
<td>Triggered trapezoid generator</td>
</tr>
<tr>
<td>Hysteresis</td>
<td>Transform Real to Boolean with Hysteresis</td>
</tr>
<tr>
<td>OnOffController</td>
<td>On-off controller</td>
</tr>
<tr>
<td>Compare</td>
<td>True, if signal of inPort1 is larger than signal of
inPort2</td>
</tr>
<tr>
<td>ZeroCrossing</td>
<td>Trigger zero crossing of input signal</td>
</tr>
<tr>
<td colspan="2"><strong>ModelicaAdditions.</strong></td>
</tr>
<tr>
<td>Blocks.Multiplexer.Extractor</td>
<td>Extract scalar signal out of signal vector dependent on
IntegerRealInput index</td>
</tr>
<tr>
<td>Tables.CombiTable1Ds</td>
<td>Table look-up in one dimension (matrix/file) with only single
input</td>
</tr>
</table>
<p><strong>Package-specific Changes</strong></p>
<ul>
<li>All example models made <strong>encapsulated</strong></li>
<li>Upper case constants changed to lower case (cf.
Modelica.Constants)</li>
<li>Introduced Modelica.SIunits.Wavelength due to typo
"Wavelength"</li>
<li>Introduced
ModelicaAdditions.Blocks.Logical.Interfaces.Comparison due to typo
"Comparison"</li>
<li>Changed these components of *.Blocks to <code>block</code>
class, which have not been already of block type</li>
<li>Changed *.Interfaces.RelativeSensor to <code>partial</code>
models</li>
</ul>
<p><strong>Class-specific Changes</strong></p>
<p><em>Modelica.SIunits</em></p>
<p>Removed <code>final</code> from quantity attribute for
<em>Mass</em> and <em>MassFlowRate</em>.</p>
<p><em>Modelica.Blocks.Math.Sum</em></p>
<p>Implemented avoiding algorithm section, which would lead to
expensive function calls.</p>
<p><em>Modelica.Blocks.Sources.Step</em></p>
<pre>
block Step "Generate step signals of type Real"
        parameter Real height[:]={1} "Heights of steps";
<strong> // parameter Real offset[:]={0} "Offsets of output signals";
// parameter SIunits.Time startTime[:]={0} "Output = offset for time &lt; startTime";
// extends Interfaces.MO          (final nout=max([size(height, 1); size(offset, 1); size(startTime, 1)]));
        extends Interfaces.SignalSource(final nout=max([size(height, 1); size(offset, 1); size(startTime, 1)]));</strong>
</pre>
<p><em>Modelica.Blocks.Sources.Exponentials</em></p>
<p>Replaced usage of built-in function <code>exp</code> by
Modelica.Math.exp.</p>
<p><em>Modelica.Blocks.Sources.TimeTable</em></p>
<p>Interface definition changed from</p>
<pre>
parameter Real table[:, :]=[0, 0; 1, 1; 2, 4] "Table matrix (time = first column)";
</pre>
<p>to</p>
<pre>
parameter Real table[:, <strong>2</strong>]=[0, 0; 1, 1; 2, 4] "Table matrix (time = first column)";
</pre>
<p>Did the same for subfunction
<em>getInterpolationCoefficients</em>.</p>
<p>Bug in <em>getInterpolationCoefficients</em> for startTime
&lt;&gt; 0 fixed:</p>
<pre>        ...
                end if;
          end if;
          <strong>// Take into account startTime "a*(time - startTime) + b"
          b := b - a*startTime;</strong>
        end getInterpolationCoefficients;
</pre>
<p><em>Modelica.Blocks.Sources.BooleanStep</em></p>
<pre>
block BooleanStep "Generate step signals of type Boolean"
        parameter SIunits.Time startTime[:]={0} "Time instants of steps";
        <strong>parameter Boolean startValue[size(startTime, 1)]=fill(false, size(startTime, 1)) "Output before startTime";</strong>
        extends Interfaces.BooleanSignalSource(final nout=size(startTime, 1));
equation
        for i in 1:nout loop
<strong>//   outPort.signal[i] = time &gt;= startTime[i];
          outPort.signal[i] = if time &gt;= startTime[i] then not startValue[i] else startValue[i];</strong>
        end for;
end BooleanStep;
</pre>
<p><em>Modelica.Electrical.Analog</em></p>
<p>Corrected table of values and default for Beta by dividing them
by 1000 (consistent with the values used in the NAND-example
model):</p>
<ul>
<li>Semiconductors.PMOS</li>
<li>Semiconductors.NMOS</li>
</ul>
<p>Corrected parameter defaults, unit and description for
TrapezoidCurrent. This makes the parameters consistent with their
use in the model. Models specifying parameter values are not
changed. Models not specifying parameter values did not generate
trapezoids previously.</p>
<p>Icon layer background changed from transparent to white:</p>
<ul>
<li>Basic.Gyrator</li>
<li>Basic.EMF</li>
<li>Ideal.Idle</li>
<li>Ideal.Short</li>
</ul>
<p>Basic.Transformer: Replaced invalid escape characters '\ ' and
'\[newline]' in documentation by '|'.</p>
<p><em>Modelica.Mechanics.Rotational</em></p>
<p>Removed arrows and names documentation from flanges in diagram
layer</p>
<p>
<em>Modelica.Mechanics.Rotational.Interfaces.FrictionBase</em></p>
<p><em>Modelica.Mechanics.Rotational.Position</em></p>
<p>Replaced <code>reinit</code> by <code>initial
equation</code></p>
<p><em>Modelica.Mechanics.Rotational.RelativeStates</em></p>
<p>Bug corrected by using modifier <code>stateSelect =
StateSelect.prefer</code> as implementation</p>
<p>
<em>Modelica.Mechanics.Translational.Interfaces.flange_b</em></p>
<p>Attribute <strong>fillColor=7</strong> added to Rectangle on
Icon layer, i.e., it is now filled with white and not transparent
any more.</p>
<p><em>Modelica.Mechanics.Translational.Position</em></p>
<p>Replaced <code>reinit</code> by <code>initial
equation</code></p>
<p><em>Modelica.Mechanics.Translational.RelativeStates</em></p>
<p>Bug corrected by using modifier <code>stateSelect =
StateSelect.prefer</code> as implementation</p>
<p><em>Modelica.Mechanics.Translational.Stop</em></p>
<p>Use <code>stateSelect = StateSelect.prefer</code>.</p>
<p><em>Modelica.Mechanics.Translational.Examples.PreLoad</em></p>
<p>Improved documentation and coordinate system used for
example.</p>
<p><em>ModelicaAdditions.Blocks.Nonlinear.PadeDelay</em></p>
<p>Replaced <code>reinit</code> by <code>initial
equation</code></p>
<p><em>ModelicaAdditions.HeatFlow1D.Interfaces</em></p>
<p>Definition of connectors <em>Surface_a</em> and
<em>Surface_b</em>:<br />
<code>flow SIunits.HeatFlux q;</code> changed to <code>flow
SIunits.HeatFlowRate q;</code></p>
<p><em>MultiBody.Parts.InertialSystem</em></p>
<p>Icon corrected.</p>
<hr />
Generated at 2018-08-07T07:53:32Z by <a href="http://openmodelica.org">OpenModelica</a>OpenModelica
1.13.0~dev-1195-g6d891ea
</body>
</html>
